#ifndef     __OBJECT_H
#define     __OBJECT_H

template <typename T>
struct Object {

    inline T* operator->() {
        return static_cast<T *>(this);
    }

    inline T& ref() {
        return *static_cast<T *>(this);
    }
};



#endif
